home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / util / boot / RemAPollo.lha / RemAPollo.doc < prev    next >
Text File  |  1999-01-17  |  14KB  |  340 lines

  1.                              RemAPollo V0.97 BETA
  2.  
  3.                        Eccentric Creations (TM) Product
  4.  
  5.                   (c) Mikolaj Calusinski 1998-99. Freeware.
  6.  
  7.                                  User Manual
  8.  
  9. Introduction
  10. ------------
  11.  
  12. RemAPollo - A1200 040\060 MMU Apollo Turboboard Remapper is freeware but
  13. copyrighted software. It has been written as a result of my depression arising
  14. from the sad fact that no working MMU remapper program was available for
  15. Apollo board. We, Apollo users, were in worse position than our Blizzard
  16. owning friends; they are able to modify their Kickstart ROMs as easily as
  17. setting one jumper on their board. We couldn't do that - our boards have no
  18. dedicated jumpers and there were no software to support us in our Kickstart
  19. changing needs. But, hopefully, this inequality will end now thanks to
  20. RemAPollo.
  21.  
  22. Please, notice the fact, that RemAPollo is currently at BETA testing stage, so
  23. problems are very likely to occur. Please contact me in case of any trouble
  24. caused by remapper; detailed bug reports are welcome. For contact address see
  25. 'Author' section below. Also, be sure to carefully read this manual!
  26.  
  27. Distribution
  28. ------------
  29.  
  30. RemAPollo package may be distributed freely, providing the following criteria
  31. are met:
  32.  
  33.  - None of the files in the RemAPollo distribution archive may be modified or
  34.    omitted.
  35.  
  36.  - No money is charged for it apart from media and small handling fee.
  37.  
  38.  - RemAPollo package may be included in freely distributable software
  39.    libraries, but it CANNOT appear on commercial CD-ROMs (including all kind
  40.    of coverdiscs). If you want to include RemAPollo on your CD-ROM you must
  41.    ask for my permission first. This does not apply to AminetCD series;
  42.    Administrator of Aminet, Urban MÜller, has my full permission to place
  43.    RemAPollo package on AminetCD.
  44.  
  45.  - RemAPollo may not be bundled with any commercial hardware or software
  46.    product without prior written consent from me.
  47.  
  48. Disclaimer
  49. ----------
  50.  
  51. YOU USE RemAPollo FILES TOTALLY ON YOUR OWN RISK. I TAKE NO RESPOSIBILITY FOR
  52. ANY DAMAGE CAUSED BY USING RemAPollo PACKAGE.
  53.  
  54. What is that actually for?
  55. --------------------------
  56.  
  57. RemAPollo is a software package for users of Amiga 1200 computer equipped with
  58. 040/060 Apollo Turboboard. It consists of a few files which can be used to
  59. remap ROM part of Amiga Operating System, known as Kiskstart, to fast memory
  60. and boot the computer from it. You can move your physical ROM to fast memory
  61. just to gain more speed or you can use wholely different Kickstart image
  62. (especially useful if you are a developer). For more details see Usage
  63. section.
  64.  
  65. Requirements
  66. ------------
  67.  
  68. For proper operation of RemAPollo package you require:
  69.  
  70. - an Amiga 1200
  71.  
  72. - at least 2.0 (V36) Kickstart in ROM (this should not be a problem :-)
  73.  
  74. - Apollo 040 or 060 Turboboard (the processor must have fully working MMU)
  75.   loaded with at least 1MB of fast memory
  76.  
  77. - original 040.library from Commodore in versions 37.10 or 37.30 if you are
  78.   using 68040 processor or 060.library supplied with the board (currently
  79.   only version 60.10 is supported) if you are using 68060 processor.
  80.  
  81.  
  82. Installation
  83. ------------
  84.  
  85. Installation, however simple, requires some steps which should be followed
  86. strictly and carefully, else system will almost certainly cause you trouble.
  87. As RemAPollo is not for absolute beginners, there is no installation script
  88. provided - you are required to do all the work by hand.
  89.  
  90.                                       1.
  91.  
  92. First - and this is VERY important - you should patch 040(060).library. In
  93. RemAPollo package there is a special program for this purpose called 'patch'.
  94. If your 040(060).library is located in LIBS: and is not crunched (as it should
  95. be in normal setup) all you have to do is type in a shell window command
  96. 'patch' without any parameters. The program will inform you about results of
  97. its work. Please note that for 68040 processor only original libraries from
  98. Commodore are supported; if you are using newer 3rd party library (propably
  99. from Phase5) you will need to stop to do so or RemAPollo won't work. There is
  100. really no need to use Phase5's libraries with Apollo board, believe me; they
  101. were designed for Blizzard turbos.
  102.  
  103. If your library is crunched, first decrunch it and invoke 'patch' program with
  104. path parameter pointing to this decrunched library. After patch is done you
  105. can recrunch library again.
  106.  
  107. This patch is ABSOLUTELY necessary if you want your system to boot reliably
  108. with mapped Kickstart. Your Amiga may seem to work well without the patch but
  109. this is simply asking yourself for trouble; sooner or later your system may
  110. crash. If you want to know further details see Additional notes section.
  111.  
  112.                                       2.
  113.  
  114. After above patch is done, you should copy command 'DRAP' (Apollo Remapper
  115. Deallocator) to your C: directory. Now, put the call for it in your
  116. startup-sequence as the very FIRST line just AFTER SetPatch. So, your startup
  117. should look like this:
  118.  
  119. ...
  120. SetPatch QUIET
  121. DRAP
  122. ...
  123.  
  124. This little program is not absolutely necessary for proper operation of system
  125. with remapped Kickstart but its use is very strongly encouraged. It will free
  126. some memory used by remapper during boot (67712 bytes to be exact) and
  127. generally restore the system to more stable and efficient state. If you intend
  128. to use MAC patch (see Usage) this program *MUST* be run or Fusion will crash.
  129. Its use will also speed up system a bit as it moves first page of memory,
  130. which contains absolute location 4 and happens to be in slooow chip mem, to
  131. fast memory. Finally, DRAP will writeprotect mapped Kickstart. You can keep
  132. its invocation in startup-sequence all the time - even when you want to boot
  133. directly from your ROM Kickstart without help of remapper - as it will do
  134. exactly nothing (except setting return code to 5 [WARN]) while relocation is
  135. not active.
  136.  
  137.                                       3.
  138.  
  139. When two above steps are completed, you can finally use the remapper itself.
  140. See Usage.
  141.  
  142.  
  143. Relocation will survive between resets as long as exec base remains valid and
  144. ColdCapture vector is not changed. To get rid of the resident and return to
  145. original ROM Kickstart just use supplied 'Reset' command with HARD parameter.
  146. It will clear execbase pointer thus removing all resident code from your
  147. system.
  148.  
  149. Usage
  150. -----
  151.  
  152. RemAPollo main program can be invoked from both environments: CLI and WB.
  153. WB tooltypes are almost identical to CLI parameters, so let's discuss the
  154. latter.
  155.  
  156. Standard template (can be obtained via use of question mark) looks like this:
  157.  
  158. KICKFILE,MAC/S,NF=NOPAGEFIX/S,FORCE/S,QUIET/S:
  159.  
  160. None of parameters is required. If you do not supply any parameters, current
  161. ROM Kickstart will be remapped, patched and the computer will perform reset.
  162. You will boot with the same Kickstart as in ROM, but with one very useful
  163. difference: remapper patches Kickstart in such a way, that fast memory is
  164. usable to the system very early. Thanks to it exec can use this fast memory
  165. for early initialization, placing there own library base and supervisor
  166. stack, so you no longer need patches like FastExec. Additionally you are able
  167. to mount recoverable ramdrives (RADs) in fast memory!
  168.  
  169. KICKFILE parameter is used to specify location of optional Kickstart image
  170. file you want your computer to boot from and operate on. Only 512KB images
  171. with $1114 header and a correct checksum are supported. RemAPollo cannot be
  172. used to remap pre-2.0 (256KB) Kickstarts.
  173.  
  174. MAC - use this switch to reserve first 16KB of chip memory as required by
  175. Fusion, Apple Macintosh software emulator for Amiga. You won't need to use any
  176. RsrvCold, RsrvWarm or PrepareEmul-like tools in your startup-sequence then.
  177. Naturally, this switch allows proper operation of ShapeShifter as well. Don't
  178. forget to run 'DRAP' command after SetPatch though!
  179.  
  180. NF or NOPAGEFIX - this parameter is only useful with 2.x Kickstart images; on
  181. versions 3.x is completely ignored. It is used to switch off fixing of the
  182. first memory page performed automatically on 2.x Kickstarts by remapper. On
  183. those Kickstarts, chip memory is linked to system memlist from location $400.
  184. Because 040/060 processors have MMU page resolution of at least 4kb, it is
  185. better to start chip memory from adequately aligned location such as $1000.
  186. Mapper does this by properly fixing exec initialization routines; starting
  187. from Kickstart 3.0 the fix is no longer necessary as it is performed already
  188. by Kickstart itself. If, for some reason, you do not want to change original
  189. behaviour of 2.x Kickstarts regarding chip memory init, specify NOPAGEFIX.
  190. This parameter is overridden by use of MAC switch.
  191.  
  192. FORCE - specify this if you want to remap Kickstart in spite of the fact, that
  193. relocation is already active. Normally, remapper will not try to start mapping
  194. process when it detects that this has been already done (so you can use mapper
  195. in your startup-sequence without looping reboots).
  196.  
  197. QUIET - ideal option for those, who want to use remapper permanently in
  198. startup-sequence. It stops all text output from RemAPollo and shortens delay
  199. before rebooting.
  200.  
  201. You can abort remapping process while not in quiet mode by pressing standard
  202. CTRL-C break.
  203.  
  204. If you need an example - I use the following phrase as a very first line of my
  205. startup-sequence:
  206.  
  207. RemAPollo MAC QUIET
  208.  
  209. I have 3.1 ROMs so no need to specify Kickstart image, but if you use 3.0, you
  210. can issue something like this:
  211.  
  212. RemAPollo DEVS:Kickstart3.1 MAC QUIET
  213.  
  214. Of course, you must have appropriate Kickstart image file in DEVS: to do this.
  215.  
  216. Additional Notes
  217. ----------------
  218.  
  219. Resident code of RemAPollo is protected with checksum to assure proper booting
  220. - program will turn the screen red and hard reset the machine when any change
  221. in resident segment is found.
  222.  
  223. Mapper uses ColdCapture vector to survive between reboots, so you should not
  224. run any other programs which make use of this vector. Also, CPU Bus Error
  225. vector ($00000008) is replaced and should remain in this state until SetPatch
  226. open 68040(60).library. After that you should run DRAP command which restores
  227. this vector to original. Take above facts into account when examining system
  228. with antivirus program.
  229.  
  230. To allow Kickstart mapping, RemAPollo must build MMU translation tables which
  231. consume some memory. I tried to limit amount of this memory as much as
  232. possible, so mapper uses 8KB MMU pages. Unfortunately, this design conflicts
  233. with the way Commodore's 040.library and Apollo's 060.library install their
  234. own 4K tables. These libraries do not switch MMU off before loading root
  235. pointers resulting in unpredictable system behaviour. Look at this code from
  236. 040.library in version 37.30:
  237.  
  238. (following routine is entered with enabled MMU in 8K mode, as done by mapper)
  239.  
  240.     ori.w    #$700,SR
  241.     pflusha
  242.     move.l    (A0)+,D0
  243.     movec    D0,URP        ;!!! URP points to 4K tables!!!
  244.     move.l    (A0)+,D0
  245.     movec    D0,SRP        ;!!! SRP points to 4K tables!!! - BOOOM!
  246.     move.l    (A0)+,D0
  247.     movec    D0,TC        ;MMU is switched to 4K mode, little late...
  248.     pflusha
  249.     moveq    #0,D0
  250.     movec    D0,ITT0
  251.     movec    D0,ITT1
  252.     movec    D0,DTT0
  253.     movec    D0,DTT1
  254.     rte
  255.  
  256. To work properly, above routine should start with something like this...
  257.  
  258.     ori.w    #$700,SR
  259.     moveq    #0,d0
  260.     movec    d0,TC        ;switch MMU off
  261.     pflusha
  262.  
  263. ...and that's exactly what does the 'patch' program.
  264.  
  265. Bugs
  266. ----
  267.  
  268. None found. (But variety of betatester's systems was rather limited).
  269.  
  270. History
  271. -------
  272.  
  273. V0.1ALPHA - (??.9.98) - internal hardcoded versions for my own use
  274.  
  275. V0.96ß - (23.12.98) - first semi-public release, to selected betatesters only
  276.  
  277. V0.97ß - (1.1.99) fixes:
  278.  - caches are now invalidated prior enabling
  279.  - only instruction cache is enabled at start
  280.  - resident now checks ROM checksum - hard reset when incorrect
  281.  
  282. V0.973ß - (8.1.99)
  283.  - added fix for $c00000 mem recognition (this should cure yellow-screen
  284.    crashes occuring on some systems). Thanks for Arkadiusz Winiarek and Marcin
  285.    Ostrowski for reporting this.
  286.  
  287. V0.974ß - (12.1.99)
  288.  - added 060 flag to execbase when 060 detected
  289.  
  290. V0.975ß - (13.1.99)
  291.  - better resident code recognition (you can use *polite* programs that grab
  292.    coldcapture vector now). First truly public version.
  293.  
  294.  
  295. Thanks
  296. ------
  297.  
  298. Big thanks must go to Harry Sintonen who send me some early infos about 040
  299. MMU - it was long ago but they helped me to recognize the problem I intended
  300. to confront with; thanks again mate!
  301.  
  302. Warm kisses to Motorola ;-) for excellent Literature Distribution Center which
  303. provides all the customers with various kinds of printed manuals. For free!
  304. I didn't have to register as a certified developer, issue any monthly fees nor
  305. sign any NDAs just to get access to information. Incredible for people used to
  306. Commodore's policy, but true. ;-)
  307.  
  308. Last (but not least) - thanks to all alfatesters who agreed to risk integrity
  309. of their systems while fighting with numerous versions of RemAPollo
  310. (especially to Marcin Ostrowski for helping me to notice serious bug; hope you
  311. finally will manage to set your system stright again... ;)
  312.  
  313. Special thanks to Arkadiusz Winiarek without whom RemAPollo would never work
  314. with 060.
  315.  
  316. Also I wish to thank my brother Jacek for Polish version of this manual (I'm
  317. so lazy... :)
  318.  
  319. This program is dedicated to Ministry - the band creating music, not (c)rap.
  320.  
  321. Author
  322. ------
  323. My e-mail address (this is preferred way of contact): bloelle@priv.gold.pl or
  324. bloelle@polbox.com
  325.  
  326.  
  327. For those without inet access:
  328.  
  329.                               Mikolaj Calusinski
  330.                             ul. Olsztynska 113/117
  331.                               42-200 Czestochowa
  332.                                     POLAND
  333.  
  334.  
  335.  
  336. I hope you find this little proggy useful. Have fun!
  337.                                                             Mike.
  338.  
  339.            ------------> AMIGA - THE BEST COMPUTER EVER <------------
  340.